home *** CD-ROM | disk | FTP | other *** search
-
- ΓòÉΓòÉΓòÉ 1. General Help ΓòÉΓòÉΓòÉ
-
- JoeView is an attempt at an image viewer for a variety of image formats. Help
- is available at almost any time. I have implemented some unusual ways of
- viewing images. It is probably worth your while to look through the section on
- Viewing Strategies at this time.
-
-
- ΓòÉΓòÉΓòÉ 2. Main Menu ΓòÉΓòÉΓòÉ
-
- The main menu system is accessed by single clicking the right mouse button or
- by using the system menu. You probably figured this out by now.
-
-
- ΓòÉΓòÉΓòÉ 2.1. Misc. ΓòÉΓòÉΓòÉ
-
- This menu command leads to three possible submenus.
-
- Quit command will close JoeView, if you couldn't figure that out, try typing
- "del \*.*" sometime.
-
- Toggle Title Bar will turn on and off the main title bar. Note that you can
- NOT MINIMIZE JoeView when the Title Bar is off.
-
- Save Window Positions will store the current window locations of JoeView. This
- includes the File Open Dialog and the Information Dialog.
-
-
- ΓòÉΓòÉΓòÉ 2.2. Files ΓòÉΓòÉΓòÉ
-
- This menu command does nothing by itself except bring up a second pull down
- menu which has commands generally relating to file stuff. Slide Show. Open a
- file. Save a file, etc. The actual commands are:
-
- o Open
- o Save
- o SlideShow
- o Print
- o Iconify
- o UnIconify
- o Plumbing
-
-
- ΓòÉΓòÉΓòÉ 2.2.1. Open File Dialog ΓòÉΓòÉΓòÉ
-
- This dialog is one of the better features of JoeView and I am especially proud
- of it (Send Money!). The dialog runs independently of the main window. You
- can select a new file at any time unless JoeView prevents it, and generally you
- will only be prevented from opening a file if JoeView is already trying to open
- a file or you are running a SlideShow.
-
- Note: The JPEG libraries use global variables that can interfere with each
- other if trying to read and write JPEG style files at the same time. If you
- begin saving a file in the JPEG format and immediately try and read a JPEG
- format file, JoeView will hold the read operation (and promote the priority of
- the write operation) until the write is finished. This should be fairly
- transparent to you.
-
- File Mask In the Options Menu you can decide what you would like the default
- setting for this to be. You can change the value in this entry field at any
- time but the change will stay only while the current JoeView session is active.
- Typically you would just enter *.* or *.bmp here. You can also use *.bmp;*.gif
- to select multiple file extensions. If you want you could also type in the
- name of a file or the full name ala c:\file\my.bmp. Further, you can change to
- a new directory fairly quickly by using c:\files\go_here\*.* - This would
- change to the approprate drive and directory and also set the File Mask to *.*.
-
- General Idea Consider this info for the GUI impaired. A file can be selected
- by typing the file name into the File Mask entry field or by double clicking on
- the appropriate file in the Files list box. Directories are changed by double
- clicking in the directory listbox, using the Quick Dir or by using the H Dir
- (feature discussed below). Drives are changed using the pull down listbox. The
- file mask entry field is where, in addition to simply typing a file name, you
- may enter wild cards, like *.gif or multiple wild cards separated by a ; or ,
- for example *.gi*;*.bmp;*.tga (no spaces)! A list of only those files that
- match the mask will be shown in the files list box. Files can be shown in
- either alphabetical or dated format by selecting the appropriate button.
-
- Confirm on delete does what it says. If you try and delete a file , it will
- prompt you first. Turn it off and delete will just kill the file when you hit
- the Delete button. BEWARE!!! The file deleted is the file shown in the current
- file area (at the upper left side of the dialog) not necessarily the file
- currently being viewed. If you only single click on a file in the files list
- box it will be selected as the current file even though you are not looking at
- it yet. Why does this feature exist? Often a series of images are less than
- desirable to me, so the ability to cream'em all at once is useful. Just leave
- the Confirm on Delete attribute on if your not sure, you will always be
- prompted.
-
- Browse Mode keeps the dialog open when not in use. This is useful if you are
- going to look at a variety of files and don't want to keep opening the dialog
- each time. There is a memory penalty for doing so which is proportional to the
- size of the directory being viewed. When Browse Mode is active, hitting Cancel
- has features discussed below. When Browse Mode is off hitting Cancel will close
- the Open File dialog. Most often it will be faster just to minimize the Open
- File Dialog.
-
- Cancel When Browse Mode is not checked this will just dismiss the Open File
- Dialog. When Browse Mode is active, Cancel will have two possible effects. If
- an image is currently being loaded, Cancel will stop the file read and load the
- default JoeView image. If an image is not being loaded, Cancel will cause the
- main window to rise to the top (become active).
-
- H File is an historical listing of all directories you have visited in the
- current JoeView session. If you have gone to several directories and will go
- back to them, use this listbox and save yourself some keystrokes (or mouse
- clicks).
-
- Low Priority Open will cause the selected file to be read in at low priority,
- giving other processes more the CPU. This option gets applied even while a
- file is currently being read. So, you can change the priority of a file read
- by toggling this switch. See the discussion about Low Priority Threads in the
- table of contents.
-
- There are two buttons on the lower left side of the dialog box labeled N and P.
- These buttons will cause the file either next or previous relative to the
- currently highlighted file to be opened. Both will cycle to either the
- beginning or end of the list when going off the end. They have accelerator
- keys associated with them.
-
- JoeView will attempt to read files that other applications are currently
- writing. For most file types, JoeView can handle truncated images and so there
- will not be a problem. Generally speaking a certain minimum (header info) is
- needed. Usually there will not be a problem, but you never know. Currently
- JPEGS cannot be accessed while other applications are writing to that file.
-
- One last item is the Quick Dir listbox. Go back on click on Quick Dir for the
- description.
-
-
- ΓòÉΓòÉΓòÉ 2.2.2. Saving an Image ΓòÉΓòÉΓòÉ
-
- The File Save dialog is pretty simple but deserves some explanation. The Quick
- Dir listbox needs some detailed explanation that can be accessed by clicking on
- Quick Dir. Drive, directory, and files are listings or displays of what is
- currently available. You can enter any valid directory/path combo in the Save
- as: entry box. The file listing is for information purposes mostly, but if you
- do click on the file it will become the entry in the Save as: box. If you
- double click on a file listbox entry, that will an indication that you want to
- save the current image into that file.
-
- CAUTION:
- Be sure to indicate a file type before you double click on a file.
-
- When you select a file type, that appropriate extension is added to or changed
- for the text in the Save as: entry field.
-
- File types available are:
-
- o GIF
- o JPEG
- o OS2 BMP (RLE & uncompressed)
- o Windoze BMP (RLE & uncompressed)
- o PBM (raw and ASCII)
- o X11 BMP
- o Sun Raster
- o TARGA (RLE & uncompressed)
- o TIFF
- o PCX
-
- All are pretty self explanatory, but it should be noted that for Windows and
- OS2 bitmaps both regular and RLE formats are written. RLE formats will do
- little good on real life images with more than 16 colors.
-
- There are three options located at the bottom of the dialog. Save at displayed
- size will write the image at whatever resolution the image is currently being
- displayed with. This is contrasted with the resolution that the image is
- stored in memory as. See Viewing Strategies for details.
-
- The second option is to Save at Low Priority. Since JoeView is multithreaded
- you can save a file and while it is being written to disk, you can go ahead
- (yippy!) and start load a different image. Low priority will write the current
- file a little slower (in theory anyway) so that you (or other processes) can
- use the CPU to do more important things, like loading/looking at another image.
- (See the discussion about Low Priority in the table of contents). Only one
- image can be saved at a time. The menu command to save an image will be
- inaccessible until JoeView has finished saving the current file. During the
- time an image is being saved the border of JoeView will turn red or blue
- depending on whether JoeView is the active application. When the save is
- complete, JoeView will return to its default border colors. In this way you
- will know when a file save is complete. If you try and exit JoeView before a
- save is finished, you will get a warning message and the option of finishing
- the save before termination.
-
- The third option is Iconify which will create an icon version of the image and
- make it the icon for the file. This way you get an image that is just big
- enough for you to get an idea of what the file is like. See the iconify
- description for important details. When iconify is selected here, you do not
- get to use a cropping rectangle to indicate what area of the image becomes the
- icon, the whole image is used.
-
- Colors The colors option will cause the image to be saved in the appropriate
- number of indicated colors. The saved imaged is affected, but the current
- image will remain unchanged.
-
-
- ΓòÉΓòÉΓòÉ 2.2.3. Slide Show ΓòÉΓòÉΓòÉ
-
- Slide Show is used to display a series of images, either a new image is
- displayed after a certain amount of time or after a certain signal is given
- (manual mode). There are three ways to start a slide show. One is to use the
- Slide Show option. Two is to drag a JoeView slide show file onto JoeView or to
- open such a file with the Open File dialog. Three is to drag and drop multiple
- files onto JoeView.
-
- The Drive listbox changes the current drive.
-
- Quick Dir is explained elsewhere.
-
- Directory is a listbox of the current directory. Selecting an item in this
- listbox will cause a change to that directory.
-
- Note: Selecting the current directory will deselect all the files highlighted
- in the Files listbox.
-
- The basic idea is to select a file that you want included in the display. You
- can select a specific file by clicking on it in the File list box. You may
- select multiple files at one time. A file is selected when it is highlighted.
-
- Note: If you double click on a file, it is immediately selected into the
- Selected Files listbox.
-
- If you have mistakenly highlighted a file, clicking on it again will
- de-highlight it. In addition to going after individual files in the Files
- listbox, you may use any or all of the four buttons located above it. *.gif
- will highlight all files that have the .gif extension. Similar for *.jpg while
- *.* selects everything. The Mask-> button will take whatever you have entered
- in the listbox to its right and use it for finding files. You DO NOT use wild
- card symbols here (*, ?).
-
- Example: Using .gif as the mask would highlight all files that have .gif in
- them. This would include
- JoeView.gif
- myfile.old.gif
- 1.gif.jpg
- Using t as the mask would select any file with a t in it.
-
- Once you have highlighted a file, hitting the Add-> button will select it into
- the Selected Files listbox. The files listed there are the ones that will be
- used in the actual slide show.
-
- If you have decided that you don't want to include a file that is listed in the
- Selected Files listbox, highlight it and use the <-Remove button to eliminate
- it.
-
- Note: You can select multiple copies of the same file into the Selected Files
- listbox.
-
- The Start button will begin the slide show.
-
- There are two additional buttons, Save and Load. These are for storing and
- retrieving a SlideShow file selection. When a Slide Show file is saved, all
- the files listed and the current Slide Show options are stored. The default
- extension for the file created is .sls but any file name can be used. When
- loading a file, all entries are placed into the selected listbox, including any
- that are already there. The Slide Show options are updated to those that were
- in the file if any existed. You can also start a Slide Show by selecting a
- Slide Show file from the File Open Dialog or by dragging and dropping such a
- file onto the JoeView icon or dragging and dropping multiple files onto
- JoeView.
-
- There are three options that can be selected without using the Options button.
- They are: Timed vs Manual, and Loop. All three can be modified from the dialog
- brought up by using the Options button. The Options button brings up a more
- complete set of options than those displayed here. See SlideShow Options.
-
- Be aware that you can modify your selected options even when SlideShow is
- running by selecting Options off the Main Menu.
-
- Once SlideShow begins, two additional options will appear on the Main Menu that
- exist only when you are running SlideShow. One is Pause SlideShow and the
- other is Stop SlideShow. Pause will temporarily halt the slide show, thus
- freeing the CPU for other things. Once selected, this command will change to
- Restart SlideShow.
-
- Note: When JoeView is minimized the SlideShow will pause after the next image
- has been read in.
-
- Stop SlideShow will stop the slide show. The slide show will not stop in the
- middle of reading a file, so if a file is currently being loaded, JoeView will
- complete the load before ending the slide show.
-
- Manual Mode: The next image is displayed when you double click with the left
- mouse button on the current image or hit the N key.
-
- Note: You can skip ahead to the next image in Timed mode by double clicking
- with the left mouse button or hitting the N key.
-
-
- ΓòÉΓòÉΓòÉ 2.2.3.1. SlideShow Options ΓòÉΓòÉΓòÉ
-
- You can specify the Time interval between images being displayed. This field
- is ignored if you select manual mode. The actual time interval is calculated
- from the time the most recent image is displayed until the next image will
- start to be read. Because of time it take to read an image, the actual
- interval between image displays may be quite different than that requested.
-
- There are four different ways of having the image displayed. The first two are
- grouped with the ability to force them not to change their window size. The
- fixed window size option does not affect the other two options. Both Keep True
- Aspect Ratio and Aspect Ratio can Distort will resize up to the size of the
- screen with each new file load unless Fixed Window Size is specified. Keep True
- Aspect Ratio will always display the image in its correct height vs width
- ratio. If Fixed Window Size is selected, the image may be padded with black
- space on the sides or top and bottom as needed. Aspect Ratio can Distort will
- resize the window to the correct size if Fixed Window Size if NOT selected.
- Any subsequent resizes of the current image will force the image to fit inside
- the window. If Fixed Window Size is selected, the image will always fit
- exactly into the window.
-
- The alternative two display options are size limited. Auto Resize with
- Constant Width will always keep the image at the current width of the window,
- small images will expand appropriately while large ones will shrink. The upper
- left corner of the window is considered fixed, while the base is allowed to
- float. In this way the window will resize (as far down as the bottom of the
- screen) to keep the aspect ratio correct. If the correct aspect ratio cannot be
- achieved because the image would be too large, the image width will be padded.
- Auto Resize with Constant Height is similar except the height of the window
- will not change. Again, the upper left corner is considered fixed and will not
- be moved by JoeView. The window will expand to the far right side of the
- screen if needed.
-
- The Loop option will cause the slide show to begin over again once all the
- images have been cycled through.
-
- Randomize files will cause the slide show images to appear in a random order,
- otherwise they appear in the order listed in the Selected Files listbox shown
- in the SlideShow dialog.
-
- Note: The file list is randomized but no effort is made to make sure all files
- are shown when the list is gone through, nor is the same file prevented from
- being shown multiple times. The only guarantee is that the correct number of
- files will be shown during each cycle. (cycle = 1 if Loop is not selected).
-
- You can also specify whether you want the Slide Show to run at low priority.
- This way your other applications will not be as affected during a file read.
- See the discusstion about Low Priority in the table of contents.
-
- Any of these options can be changed while the SlideShow is running. Use the
- Options command on the Main Menu once the slide show is started.
-
-
- ΓòÉΓòÉΓòÉ 2.2.4. Printing ΓòÉΓòÉΓòÉ
-
- So far printing has shown to be a hit and miss operation. Some images come out
- OK, while others distort the colors. You may find that images will printout
- better if you map the colors into the system colors first. On black and white
- printers doing a black and white dither may yield better results and similarly,
- you may want to convert your image to grayscale before printing.
-
- Printing is not multi-threaded (so I'm lazy) so give it some time to complete.
-
- The hard part about printing it to do so without distorting your image
- inadvertently. This is where the Fixed radio buttons come in. Basically, you
- choose what part of the picture will remain constant. Usually you will want to
- make the image size constant, but thats up to you.
-
- The Distortion of apect ratio tells you how much your image is being squished
- because of the margins you have called for. Basically, 0 means that your image
- will print true, while positive values indicate the sides are squished in,
- while a negative value means the top is squished down.
-
- You select a printer by clicking on the appropriate printer name shown in the
- Printers listbox. Double clicking on the printer will allow you to edit its
- defaults. In addition, you can check the EPS (Encapsulated Postscript)
- checkbox. This will modify the Printing dialog box, allowing you to enter a
- filename and also choose whether to use RLE encoding (compress) on the file and
- or a preview section for the file created. The code to create an EPS file is
- based on work by John Bradley of The University of Pennsylvania.
-
-
- ΓòÉΓòÉΓòÉ 2.2.5. Iconify & UnIconify ΓòÉΓòÉΓòÉ
-
- This little puppy allows you to associate a miniature version of your image or
- part of your image with the image file. The icon is placed in the extended
- attributes of the file and adds about 4K to the file length. Although the icon
- will be displayable at any resolution, for all practical purposes only those
- who are using a resolution of 1024x768 should use the option. Resolutions less
- than this use icons which are 32x32 and just loose too much detail when
- shrinking. Normally the entire image is used to make the icon, but if a
- cropping rectangle is present only that part of the image will be used.
-
- UnIconify will delete the icon information from the image file.
-
-
- ΓòÉΓòÉΓòÉ 2.2.6. Pipe Me Baby ΓòÉΓòÉΓòÉ
-
- This was a failed attempt to use named pipes to communicate with other
- programs. Instead of using pipes it uses temporary files, and so in either case
- the use is transparent to both you and the other program.
-
- The option is designed to allow the user to access the programs bundled under
- the PbmPlus logo. These utilities operate on PBM style files and do a wide
- variety of operations. The utilities can be downloaded from many sources and
- they are free (to my knowledge). It is your problem whether the utilities work
- or not. The program does not have to be any of these utilities, any program
- that takes a PBM style file in and outputs a PBM style file will work. The
- program can use Stdio for file manipulation.
-
- Defined Pipes: JoeView stores previously defined pipes (programs) in a file
- called joeview.pip which is stored in the same directory as your exe file.
- This is a list of the contents of the file. It is saved using the Save button.
-
- Save Button: Saves whatever is listed in the Defined Pipes list box into the
- joeview.pip file.
-
- Delete Button: Deletes whatever item is selected in the Defined Pipes list
- box.
-
- Select Button: Copies whatever item is selected in the Defined Pipes list box
- into the Pipe to Run list box.
-
- Run Button: Runs whatever file is listed in the Pipe to Run entry field.
-
- PPM, PGM, PBM, Raw specify what type of PBM format file to input into pipe.
-
- Pipe to Run is the program to run and its arguments. The program must be the
- full file name and extension, i.e. c:\os2\pgmoil.exe. In addition, any command
- line options should be listed here as well. If you want to pass file names
- (input or output) as arguments to the program use $in and $out as holders for
- those arguments. For example, if your program needs both an input and output
- file specified on the command line use:
-
- c:\os2\pgmoil.exe $in $out
-
- JoeView would replace $in and $out with the appropriate temporary files. If
- your program uses Stdio, just leave out either $in and/or $out as appropriate.
- The program will appear in a cropped window in the lower left corner of your
- screen while it is running. BTW, the temp files will be located in your the
- directory defined by TEMP or TMP and the files will have the format
- joepipe.(three random letters). If you shut down JoeView in the middle of
- something these files might remain. You should check periodically and delete
- any that exist.
-
-
- ΓòÉΓòÉΓòÉ 2.3. Edit ΓòÉΓòÉΓòÉ
-
- The commands listed under this heading will typically permanently change your
- image, with the exception of Copying to the Clipboard (Copy...).
-
-
- ΓòÉΓòÉΓòÉ 2.3.1. Copy and Paste ΓòÉΓòÉΓòÉ
-
- The pathway to the copy and paste command.
-
-
- ΓòÉΓòÉΓòÉ 2.3.1.1. Copy... ΓòÉΓòÉΓòÉ
-
- Copy to the clipboard. The image will be copied to the system's clipboard.
- You will be asked whether you want to copy the image's palette also. Some
- applications don't look for a palette and so the image will get really
- distorted if you tell JoeView to include the palette. If you don't copy in a
- palette, JoeView will convert the image to the system colors using Distance
- Method. The system colors are pretty blah so if you want the copied image to
- be really good, convert it to the system's palette first by using FS Dither
- before the copy.
-
- If a cropping rectangle is present, only the image inside the cropping
- rectangle gets copied.
-
-
- ΓòÉΓòÉΓòÉ 2.3.1.2. Paste ΓòÉΓòÉΓòÉ
-
- Paste from the clipboard. Whatever image JoeView is currently displaying will
- be lost.
-
-
- ΓòÉΓòÉΓòÉ 2.3.1.3. Paste Into From Clipboard (or File) ΓòÉΓòÉΓòÉ
-
- This feature allows you to paste whatever is currently in clipboard into
- whatever image currently is being displayed by JoeView. A locating rectangle
- is used to allow you to position the clipboard image to the spot that you want
- it. The clipboard image must be smaller dimensionally than the image currently
- being viewed in JoeView. You can resize the clipboard image to be whatever
- size you want, but you cannot change the aspect ratio.
-
- The alternate form of this command is to paste directly from another file.
- This has the advantage of not being limited by the clipboard's color palette.
-
- Both of these command operate the same, with the exception that Pasting from a
- file first requires you to specify a file.
-
-
- ΓòÉΓòÉΓòÉ 2.3.2. Colors ΓòÉΓòÉΓòÉ
-
- Color crunching stuff. Toto, this doesn't look like Kansas!
-
-
- ΓòÉΓòÉΓòÉ 2.3.2.1. Control Center ΓòÉΓòÉΓòÉ
-
- This is where the action takes place for color manipulations. Many of the
- manipulations that can be executed here can also be launched from the menu
- system or via hot-keys, but everything accessed via this dialog can be undone.
-
- Basically you have two ways of manipulating the image's colors in the broadest
- sense, by changing the Red Green and Blue (RGB) components of the image's
- colors and by changing the Hue Saturation and Value (intensity) or HSV of the
- image. The method of manipulation is chosen by the radio button HSV or RGB.
- The values of RGB and HSV are stored separately so the values in one set of
- spin buttons will not correspond to the other set.
-
- The Dynamic check box will cause the changes you are making to the various
- sliders to be applied as you make the changes. If you do not have the dynamic
- box checked, you will need to hit the Test button to see the effects of your
- changes. Dynamic can be sluggish, but that's why you bought a Pentium right?
-
- The Forget It is equivalent to cancel and will restore the image to its
- original state before closing the dialog. Make it So applies the changes
- permanently to the image. And just for your information, yes I do watch ST:TNG
- and I'm proud damn it, proud I say, to do so!
-
- Reset will reset the image to its original state.
-
- Other manipulations can be run from here by selecting the appropriate button.
- They are
-
- o Grayscale
- o Reduce Colors
- o BW Dither
- o FS Dither
- o Distance Method
- o Smooth
-
-
- ΓòÉΓòÉΓòÉ 2.3.2.2. Brighten ΓòÉΓòÉΓòÉ
-
- Colors are all shifted up to brighter colors. Will eventually turn entire
- image white. If you shift colors repeatedly (all white in the extreme) you
- will not be able to undo using the Darken feature. This is accessed via the
- hot-key "B".
-
-
- ΓòÉΓòÉΓòÉ 2.3.2.3. Darken ΓòÉΓòÉΓòÉ
-
- Colors are all shifted down to darker colors. Will eventually turn entire
- image black. Can be undone with Brighten if not taken too far. This is
- accessed via the hot-key "D".
-
-
- ΓòÉΓòÉΓòÉ 2.3.2.4. BW Dither ΓòÉΓòÉΓòÉ
-
- Turns current image into a black and white image.
-
-
- ΓòÉΓòÉΓòÉ 2.3.2.5. Reduce Colors ΓòÉΓòÉΓòÉ
-
- You specify the number of colors you want the image to have. Numbers greater
- than the current number of colors the image uses will do nothing and values
- less than 2 are not allowed. This function is usually fast but can be a little
- time consuming with large pictures.
-
-
- ΓòÉΓòÉΓòÉ 2.3.2.6. Go Grayhound ΓòÉΓòÉΓòÉ
-
- Converts the colors used in the image to grayscale.
-
-
- ΓòÉΓòÉΓòÉ 2.3.2.7. System Colors ΓòÉΓòÉΓòÉ
-
- There are two different ways of converting from the image's current color
- scheme to that used by your OS2 system. They are Floyd Steinberg Dithering (FS
- Dither) and the Distance Method.
-
-
- ΓòÉΓòÉΓòÉ 2.3.2.7.1. FS Dither ΓòÉΓòÉΓòÉ
-
- Floyd Steinberg Dithering of your image into the system's palette. The
- dithering method is based on ppmquant.c by Jef Poskanzer. This produces
- incredible results, sometimes it is hard to distinguish your original image
- from the dithered. Of course the penalty is that it is EXTREMELY CPU
- intensive. A VGA size image takes several minutes on my 33Mhz 486, your
- mileage may vary. The results are much better than using the Distance Method.
-
- Note that the CPU load is reduced to almost nothing if you bothered to create
- the JoeView.dth file. This file preloads most of the calculations and makes
- the whole thing fly. This file is created automatically whenever JoeView needs
- to create the JoeView.pal file.
-
- This option is useful when copying to the clipboard or creating wallpaper or
- lockup screen images.
-
-
- ΓòÉΓòÉΓòÉ 2.3.2.7.2. Distance Method ΓòÉΓòÉΓòÉ
-
- Converts your image's palette into the system's default palette. Much faster
- than FS Dither but noticeably lower quality.
-
- This option is useful when copying to the clipboard or creating wallpaper or
- lockup screen images.
-
-
- ΓòÉΓòÉΓòÉ 2.3.3. Resize ΓòÉΓòÉΓòÉ
-
- Resizing changes the resolution of the image (in memory). This will effect
- that actual image, not just the displayed image. See Viewing Strategies for
- more information. Remember that how you have specified that the image be
- displayed may make it appear that this operation has done nothing when it
- actually has. For example, you may have the window size fixed.
-
- You can do +-10% increments or size the image to fit a particular screen size,
- such as 640 x 480, 800 x 600, and 1024 x 768 or the resolution that the image
- is currently being displayed at. In addition you can specify the actual
- dimensions to use by using the Custom command.
-
-
- ΓòÉΓòÉΓòÉ 2.3.4. Cropping ΓòÉΓòÉΓòÉ
-
- Using the left mouse button, select an area of the image which you wish to
- retain. Using crop will eliminate all area's outside the indicated rectangle.
- The change affects the image, unlike Zoom.
-
- You must be aware that the image may be being displayed with padded sides.
- The padded sides exist for display only and so cannot be cropped away. This
- could happen if you manually resized the window after JoeView originally
- displayed it.
-
-
- ΓòÉΓòÉΓòÉ 2.3.5. Auto Cropping ΓòÉΓòÉΓòÉ
-
- Auto cropping attempts to use a little bit of color comparisons to estimate
- which parts of the picture need to be croppped.
-
- Default This method looks at the color of the pixel in the lower left corner
- of the image. It then compares all other colors on each side of the image to
- this color. If one side's color all match this "magic" color, that side is
- deleted. This method progresses until a new color is encountered.
-
- Strict, Average, Loose, and Custom: All of these methods work on the same
- underlying principle. A group of colors are identified and used to compare a
- side of the image to. The group of "magic" colors will be taken from the lower
- left side of the image unless a cropping rectangle has been selected, in which
- case the "magic" colors are taken from there. A maximum of 10 colors will be
- determined, only one will be used if a solid color area is input. A percentage
- hit test is used to determine if a side of the image should be deleted. For
- instance, if you have 3 "magic" colors and if half the pixels of the side being
- examined have these colors a hit of 50% would be recorded. This hit percentage
- is compared to the allowed value to determine whether or not to delete the
- side. The Strict, Average, and Loose options correlate to a 95%, 85%, and 75%
- hit rates. You can enter your own percentage using the Custom command.
-
- Note: If nothing seems to be happening, you might be using too tight a
- percentage, but it also might be too loose. If the percentage is way too
- loose, too much of the picture gets cropped and JoeView assumes that this isn't
- what is desired and so does no cropping.
-
-
- ΓòÉΓòÉΓòÉ 2.3.6. Smooth ΓòÉΓòÉΓòÉ
-
- With Use 9 Points selected, this does a smoothing of the image by taking a
- given pixel and then all of its neighbors, giving 9 total pixels. Depending on
- the weighting factor, the RGB components of these pixels are combined for a new
- value for the given pixel. A weighting of 100 would mean that the given pixel
- influences the created pixel the most, in fact to the exclusion of the
- neighboring pixels so there is no effect. At the opposite extreme a weight of
- 0 means all the pixels get averaged in equally. This tends to blur the image
- somewhat.
-
- If 9 Points is not selected, 4 points are used. One point and three neighbors.
- This tends to do a wave sort of smoothing. No weighting is used.
-
-
- ΓòÉΓòÉΓòÉ 2.4. Manipulations ΓòÉΓòÉΓòÉ
-
- This menu command does nothing but bring down another pull down menu. The
- commands on that menu are used for changing or manipulating the current image.
- Many have keyboard equivalents. All these commands can be undone by using
- another command or the same command twice, i.e. using mirror twice.
-
-
- ΓòÉΓòÉΓòÉ 2.4.1. Flip ΓòÉΓòÉΓòÉ
-
- Depending on the option selected, the current image is flipped (mirrored)
- either vertically or horizontally.
-
-
- ΓòÉΓòÉΓòÉ 2.4.2. Rotate ΓòÉΓòÉΓòÉ
-
- Rotation is either clockwise or counterclockwise. Rotation takes place in 90
- degree increments. The easiest way to undo the affects of this command is to
- pick up your monitor and rotate it 90 degrees in the opposite direction of the
- way you started. But you didn't come all this way just to read that, did you?
-
-
- ΓòÉΓòÉΓòÉ 2.4.3. Invert Colors ΓòÉΓòÉΓòÉ
-
- The current image colors are inverted. For example, black becomes white, etc.
- The effect is pretty interesting, just like taking large amounts of
- hallucinogens but without the high cost.
-
-
- ΓòÉΓòÉΓòÉ 2.4.4. Zooming ΓòÉΓòÉΓòÉ
-
- Zooming allows the user to zoom in on a particular area of the image. That
- area is first selected by using the left mouse button. After a zoom has been
- performed, the menu option will change to include a Zoom Out option. The
- original image is unaffected by zooming, as opposed to Cropping . You can
- keep on zooming in to your hearts content, but Zooming Out goes all the back to
- the original image.
-
-
- ΓòÉΓòÉΓòÉ 2.5. Options ΓòÉΓòÉΓòÉ
-
- This will bring up one of two possible menus depending on whether or not you
- are currently running a SlideShow . The slideshow options can be looked at in
- the Slide Show Options section. You check or fill in the various selections as
- you see fit and then select the action you would like with one of the four
- buttons on the botton of the dialog. For the conventional options menu there
- is a notebook and four buttons at the bottom of the dialog. Those buttons are:
-
- o Apply (Options become active, but are not saved)
- o Save (Options saved but not applied)
- o Cancel (duh!)
- o Help (Very complicated button, will be explained in your senior year.)
-
-
- ΓòÉΓòÉΓòÉ 2.5.1. Palette Options ΓòÉΓòÉΓòÉ
-
- Three possible options are available regarding palettes.
-
- First you can Overide System Colors This allows JoeView to cream the system
- colors. These are the colors used for dialogs, menu text, etc. There are not
- that many of them, you can figure out how many unique ones you have by looking
- at the Image Information Dialog colors field. You will often see "got 245 out
- of 256". Subtract the first number from 256 to get the number of system colors.
-
- The colors that the application can't place are mapped into the closest ones
- the system will display. Usually the increase in image quality is
- insignificant, but you might use this option if you are not gonna look at other
- applications while JoeView is running.
-
- Next come Aggressive on Palette JoeView loves to fight for the colors it is
- using. If another application starts changing the palette this option will
- cause JoeView to try and change the colors back every now and then. If you are
- working with another application it can get annoying having the colors flash
- and the system will slow down somewhat.
-
- You can use a hot key (Alt A) to cycle this on or off. When you do so JoeView
- will beep a high tone when you turn it on, a low tone when it is off.
-
- Even while Aggresive on Palette is off whenever you make JoeView the active
- application the palette will become reset to the correct colors.
-
- The above two options only affect how the image is displayed. The actual
- colors that make up the image in memory are not affected by these choices.
- Display Using System Palette actually changes the colors that make up the
- image. The option will cause the image that is loaded to be diplayed using
- only the colors that the system has in its default palette. The method used to
- convert to the system colors is a Floyed Steinberg error diffusion which yields
- pretty good quality and has the advantage is that JoeView will not affect other
- applications by reseting their palettes. Also, mutlitple versions of JoeView
- can be run and each one will not interfere with the others. Since this will
- actually change the colors of the image (not just the displayed colors) so
- don't use this to read and then save files if you want a true conversion.
-
-
- ΓòÉΓòÉΓòÉ 2.5.2. Display Options (Window Sizing) ΓòÉΓòÉΓòÉ
-
- These are options which apply to how the images are displayed.
-
- Images can be shown so that the window is scaled to reflect the size of the
- image each time it is loaded - this would mean making Fixed Window Size
- unchecked. With Fixed Window Size on, the window will not resize when a new
- image is loaded.
-
- Scale, keep true perspective means the width to height ratio remains constant.
- The image gets padded with black if the image will not correctly fit into the
- display window. With Scale perspective can change you can stretch the image
- to fit the window.
-
-
- ΓòÉΓòÉΓòÉ 2.5.3. Dithering/Quantizing Options ΓòÉΓòÉΓòÉ
-
- Actually, this should be called just quantizing, but I can't spell that. These
- are the different ways that a 24 bit image will be converted down to 8 bits so
- that it can be displayed. These do not apply to JPEG, which has its own
- options. These are used on Targas, PBMs, and other formats that might contain
- 24 bit images. The quickest dithering routine is used when smoothing.
-
- o Gray The fastest way. Converts image to grayscale. Good for previewing new
- pictures.
-
- o Quick The fastest color way. Not too bad but some image degradations might
- occur. Use this one most of the time and you'll be OK. The others (below)
- are better but much slower.
-
- o Best Good compromise between speed and quality. Some mild (Floyd Steinberg)
- dithering is used. Code based on code by Jef Poskanzer (ppmquant.c - quantize
- colors).
-
- o Slow This implements Heckbert's Median Cut algorithm. The code is hacked
- from XV by John Bradley of The University of Pennsylvania. Quality in line
- with Best. This does a full dither and is quite slow but provides the best
- results. This is especially true when viewing true 24 bit images (meaning way
- over 256 colors), this will give you the best conversion down to 8 bit,
- especially when there are a lot of subtle shade changes. I have hit and miss
- luck with it. BTW, this is a little memory intensive and slow. If you
- abandon a file read it may not return control immediately to JoeView
-
- Quantizing (reducing down to 256 colors) isn't always needed and it is much
- faster to not have to run a quantizing algorithm. You have the ability to
- specify whether the image data should be checked to see if it contains more
- than 256 colors. If the images you will be looking at will mostly/always have
- more than 256 colors you should not do the checking as it will be a waste of
- time. If the images are almost always 256 colors or less then doing the check
- will save some time.
-
-
- ΓòÉΓòÉΓòÉ 2.5.4. Directories Option ΓòÉΓòÉΓòÉ
-
- Where would you like to start looking for images? Leave blank to start in
- current directory.
-
- For a detailed description of what Quick Directories do see Quick Dir. In this
- notebook page you type the desired directory into the entry field and then hit
- the add button. Similarly, select the directory you want to remove and hit the
- del button to remove that information.
-
- For both of these option, JoeView will verify the information is valid before
- exiting the dialog. If there is a problem you will get an error message and
- have to fix the problem before you can exit.
-
-
- ΓòÉΓòÉΓòÉ 2.5.5. Open Options ΓòÉΓòÉΓòÉ
-
- The majority of these settings are described in Open Dialog.
-
- The major option not covered there is the File Mask. This is the value that
- will be loaded into the File Open Dialog File Mask upon startup. Wild cards
- are valid and you can separate groups by either a space or a ;, for example
- *.bmp;*.gif;*.jpg or *.bmp *.gif *.jpg are both valid. There is a slight speed
- penalty for each additional group.
-
-
- ΓòÉΓòÉΓòÉ 2.5.6. Swapper Option ΓòÉΓòÉΓòÉ
-
- Swapper Check is two parts, a check box and a drive entry field. This was
- added in Version 1.22. When you have checked the check box and you have put a
- valid drive in the drive box (just the letter, no colon) this option becomes
- active. The drive should be whatever drive your swapper.dat file is on. What
- this does is that whenever JoeView is going to allocate a large chunk of memory
- (defined as 1 Meg or more) it will query the drive you have indicated for
- available space. If the available space does not exceed the amount of memory
- requested by at least 4 Megs, then JoeView will give a warning message and the
- opportunity to terminate. The feature is a preventative step to make sure you
- don't run out of disk space (swap space). The speed impact is quite small and
- it could really save your butt if you get some stupid tiff file that looks
- pretty small but in reality is 10,000 X 10,000. Take a test drive by making
- the drive one of your floppies and then reading in a large full color pbm file.
-
-
- ΓòÉΓòÉΓòÉ 2.5.7. Misc Options ΓòÉΓòÉΓòÉ
-
- Show Load Progress shows the current status of file loading, basically a
- percentage of image loaded. Shown in the window title bar. Some File formats
- may not show this. When dithering (quantizing) takes place, messages to that
- affect will be displayed in the Title Bar.
-
- Show Image Info on Startup will start the image info dialog upon startup (what
- else did you expect?). See see Image Infomation.
-
-
- ΓòÉΓòÉΓòÉ 2.6. Image Information ΓòÉΓòÉΓòÉ
-
- This command brings up a window that shows information about the currently
- displayed image. The information consists of:
-
- o The Filename
- o Format of the image file and filesize
- o Resolution of the image in memory
- o Resolution of the image as displayed
- o Distortion and scale of the image (Dist. and Scale)
- o Color information
- o An unseen line that occasionally will show warning messages
- o A history list box of manipulations that have been performed on the current
- image.
-
- The Information Box will remain around as long as JoeView is alive or until the
- Hide button is pressed.
-
- The information categories are pretty self explanatory, but for clarity
- Resolution refers to the resolution of the image as it is currently stored in
- memory, while Display Res. is the resolution that the image is currently being
- displayed at.
-
- The Dist. and Scale category may not be obvious. The distortion is the ratio
- of the aspect ratio of the image as it is displayed divided by the aspect ratio
- of the image in memory. Take that number and subtract one from it if it is
- greater than one or if it is less than one invert it and make it negative and
- then add one. We will call the aspect ratio the width of the image divided by
- its height. So a distortion of 0 means the image is not being distorted, a
- positive value means your are crushing the top down and a negative value means
- you are squishing the sides in.
-
- Scale is the scale factor of memory versus display. 2 means the display image
- is twice as large as the memory image. When you are distorting the image, the
- largest scale (width or height) is displayed.
-
-
- ΓòÉΓòÉΓòÉ 3. Some Hints ΓòÉΓòÉΓòÉ
-
- No, the hints aren't here, go in one more level.
-
-
- ΓòÉΓòÉΓòÉ 3.1. Viewing Strategies ΓòÉΓòÉΓòÉ
-
- Images are displayed in several ways. Two ways that are always available are 1)
- just a simple, correctly scaled image and 2) an image that starts out scaled,
- but if you resize the window the aspect ratio will change so that the picture
- always fills up the window. These two types of display can be modified
- somewhat by selecting the fixed window size attribute. This option will force
- JoeView to not resize the viewing window each time a new file is loaded
- (whether by SlideShow or by File -> Open). The user can resize the window at
- any time.
-
- The SlideShow offers two addition ways of displaying images. See SlideShow for
- more information. In no case however, are sliders ever used.
-
- The most important thing to remember when using JoeView is that the actual
- resolution of the image (the width x height) is not always the same as that
- which it is displayed with. For example, let's say you are working on a system
- that is limited to a display of 640 by 480 and you try and load an image that
- is 2000 by 2000. JoeView will resize the image to fit the screen when it
- displays the image to you, but the data representing the image will stay at
- 2000 by 2000. Any operations (manipulations) that you perform on the image
- will by done on the original image, the 2000 by 2000 one. Now, let's say you
- use the ReSize command to reduce the image to 640 by 480. From as far as you
- can tell, nothing will have changed. This is because the image size is still
- as big as the display can handle. In reality you have changed the image size
- and if you save the image it will be different than the one you originally
- loaded. The Image Information option on the main menu will keep you apprised
- of the actual vs displayed resolution of the current image. When you save a
- file there is the option to save at the currently displayed size, the above
- discussion is why that option exists.
-
-
- ΓòÉΓòÉΓòÉ 3.2. Quick Dir ΓòÉΓòÉΓòÉ
-
- An especially useful feature, the Quick Dir listbox is present in several
- different dialogs:
-
- o File Open
- o Slide Show
- o File Save
- o Options
-
- It is only in the Options dialog the Quick Dir listbox can be modified. Aside
- from modifying the Quick Dir listbox, the Options dialog is not affected by it.
- The format for an entry is to have a drive letter and full path
-
- For Example c:\images\gif, there should not be any trailing slashes. There is
- a limit of 10 entries that will be remembered. Others will be ignored. Unused
- entries should consist of blanks.
-
- The basic use of the Quick Dir is to allow the user to quickly access
- frequently used directories. The actual use of the Quick Dir listbox varies
- somewhat depending on the dialog. In the File Open and Slide Show dialogs Quick
- Dir is accessed by using the pull down on the listbox. Doing so will cause the
- current directory and drive to change to that selected in Quick Dir. With the
- File Save dialog, invoking Quick Dir is the same, but instead of actually
- changing the drive and directory, just the entry in the name of the file to be
- saved will be updated. If you want to change directories in the File Save
- dialog you will have to use the drive and directory listboxes.
-
-
- ΓòÉΓòÉΓòÉ 4. File Formats ΓòÉΓòÉΓòÉ
-
- A variety of file formats are supported. See each individual one for more
- info.
-
- You should be aware of some limitations when doing conversions between
- different file formats or if you are constantly reading and saving the same
- image over and over again (See JPEG). When JoeView reads a file, no matter
- what the original format, it is stored as an 8 bit image (256 colors max). This
- means that if you read in a JPEG, TARGA, Sun Raster, or PPM image there exists
- the possibility that the original file is made up of more than 256 colors and
- so JoeView will reduce the colors down to 256. So, if your goal is to convert
- a 24 bit image stored in TARGA format to PPM there is a very good chance that
- your image will suffer a loss in quality. There are utilities available to do
- true 24 bit conversions if you are really concerned. Most likely the losses
- will be quite small.
-
- Eight bit formats will not suffer any degradation.
-
-
- ΓòÉΓòÉΓòÉ 4.1. JPEG ΓòÉΓòÉΓòÉ
-
- The JPEG reading and writing code is based on the following people's work:
-
- The Independent JPEG Group's JPEG software
- ==========================================
-
- This software is the work of Tom Lane, Philip Gladstone, Luis Ortiz,
- Lee Crocker, Ge' Weijers, and other members of the Independent JPEG Group.
-
- LEGAL ISSUES
- ============
-
- The authors make NO WARRANTY or representation, either express or implied,
- with respect to this software, its quality, accuracy, merchantability, or
- fitness for a particular purpose. This software is provided "AS IS", and you,
- its user, assume the entire risk as to its quality and accuracy.
-
- This software is copyright (C) 1991, 1992, Thomas G. Lane.
- All Rights Reserved except as specified below.
-
- Permission is hereby granted to use, copy, modify, and distribute this
- software (or portions thereof) for any purpose, without fee, subject to these
- conditions:
- (1) If any part of the source code for this software is distributed, then this
- README file must be included, with this copyright and no-warranty notice
- unaltered; and any additions, deletions, or changes to the original files
- must be clearly indicated in accompanying documentation.
- (2) If only executable code is distributed, then the accompanying
- documentation must state that "this software is based in part on the work of
- the Independent JPEG Group".
- (3) Permission for use of this software is granted only if the user accepts
- full responsibility for any undesirable consequences; the authors accept
- NO LIABILITY for damages of any kind.
-
- Permission is NOT granted for the use of any IJG author's name or company name
- in advertising or publicity relating to this software or products derived from
- it. This software may be referred to only as "the Independent JPEG Group's
- software".
-
- We specifically permit and encourage the use of this software as the basis of
- commercial products, provided that all warranty or liability claims are
- assumed by the product vendor.
- ==================
-
- The following is pretty much stolen verbatim for the JPEG information that is
- supplied with the JPEG libraries.
-
- The Quality spin button lets you trade off compressed file size against the
- quality of the saved image: the higher the quality setting, the larger the JPEG
- file, and the closer the output image will be to the original input. Normally
- you want to use the lowest quality setting (smallest file) that decompresses
- into something visually indistinguishable from the original image. For this
- purpose the quality setting should be between 50 and 95; the default of 75 is
- often about right. If you see defects at quality 75, then go up 5 or 10 counts
- at a time until you are happy with the output image. (The optimal setting will
- vary from one image to another.) Quality 100 will generate a quantization table
- of all 1's, eliminating loss in the quantization step (but there is still
- information loss in subsampling, as well as roundoff error). This setting is
- mainly of interest for experimental purposes. Quality values above about 95
- are NOT recommended for normal use; the compressed file size goes up
- dramatically for hardly any gain in output image quality. In the other
- direction, quality values below 50 will produce very small files of low image
- quality. Settings around 5 to 10 might be useful in preparing an index of a
- large image library, for example. Try quality 2 (or so) for some amusing
- Cubist effects. (Note: quality values below about 25 generate 2-byte
- quantization tables, which are considered optional in the JPEG standard. Some
- commercial JPEG programs may be unable to decode the resulting file.)
-
- Smooth Factor: Smooth the input image to eliminate dithering noise. The value
- selected, ranging from 1 to 100, indicates the strength of smoothing. 0 will
- mean to not use smoothing and can be used instead of the check button. The
- Smooth option filters the currently displayed image to eliminate fine-scale
- noise. This is often useful when saving files as JPEG: a moderate smoothing
- factor of 10 to 50 gets rid of dithering patterns in the input file, resulting
- in a smaller JPEG file and a better-looking image. Too large a smoothing
- factor will visibly blur the image, however.
-
- Optimization of entropy encoding parameters. Without this, default encoding
- parameters are used. Optimize usually makes the JPEG file a little smaller, but
- JoeView runs somewhat slower and needs much more memory. Image quality and
- speed of decompression are unaffected by optimize. It's also a win when you are
- using low quality settings to make very small JPEG files; the percentage
- improvement is often a lot more than it is on larger files.
-
- When reading a JPEG, there are five mutually exclusive option that deals with
- quantization of the colors (converting from a 24 to 8 bit image). Your options
- are:
-
- o Quick The one pass color quantization. The fastest of the color
- quantizings, but probably will result in a noticeably inferior image. Good
- for a quick look.
-
- o Slow This implements Heckbert's Median Cut algorithm. The code is hacked
- from XV by John Bradley of The University of Pennsylvania. Quality in line
- with Best. Very slow compared to the builtin JPEG quantizer. For most jpegs
- it will probably give only minor quality improvements. Make your own
- judgment. It is not part of the regular JPEG libraries.
-
- o Best Floyd-Steinberg dithering is used. Based on ppmquant.c by Jef
- Poskanzer.
-
- o BuiltIn Uses the JPEG libraries built in two pass quantizer. Probably the
- best to use overall. Seems pretty fast.
-
- o Gray Hands down the fastest way to look at a JPEG. Results in gray colors
- only, but good way to take a quick look.
-
-
- ΓòÉΓòÉΓòÉ 4.2. Bitmaps ΓòÉΓòÉΓòÉ
-
- The two important types of bitmaps supported are Windows and OS2 style bitmaps.
- JoeView should read any of these type of bitmaps (RLE and non-RLE) with the
- following caveats:
-
- o Black and White images that are stored by using modified Huffman encoding
- cannot be read.
-
- o OS2 allows the use of halftones and such. JoeView does not read these but I
- have never even seen one.
-
- o Should read 24 bit bitmaps OK.
-
- Bitmaps can be saved in either RLE on uncompressed format. The RLE encoding
- scheme is fairly brain dead and will actually increase the size of the file for
- "real life" images with more than 16 colors. JoeView does some comparing and
- will minimize the file size to its best ability so you should only see slight
- increases in file size but then again you may see a significant decrease. You
- pay your money and you takes your chances.
-
-
- ΓòÉΓòÉΓòÉ 4.3. GIF ΓòÉΓòÉΓòÉ
-
- Does em'.
-
- JoeView will read both GIF87a and GIF89a formats but will write only GIF87a
- format. If a mulit-image gif file is encountered you will have the option of
- breaking the images apart and creating a sequence of OS2 bitmaps from them or
- just reading the first image.
-
- "The Graphics Interchange Format(c) is the Copyright property of
- CompuServe Incorporated. GIF(sm) is a Service Mark property of
- CompuServe Incorporated."
-
-
- ΓòÉΓòÉΓòÉ 4.4. TARGA ΓòÉΓòÉΓòÉ
-
- The code to read Targa images is based on tgatoppm.c by Jef Poskanzer. This is
- the copyright stuff from that file.
-
- /* tgatoppm.c - read a TrueVision Targa file and write a portable pixmap
- **
- ** Partially based on tga2rast, version 1.0, by Ian MacPhedran.
- **
- ** Copyright (C) 1989 by Jef Poskanzer.
- **
- ** Permission to use, copy, modify, and distribute this software and its
- ** documentation for any purpose and without fee is hereby granted, provided
- ** that the above copyright notice appear in all copies and that both that
- ** copyright notice and this permission notice appear in supporting
- ** documentation. This software is provided "as is" without express or
- ** implied warranty.
-
- JoeView does both RLE and non-RLE style files. BTW, I have significantly
- changed the code, hopefully for the better.
-
-
- ΓòÉΓòÉΓòÉ 4.5. PBM ΓòÉΓòÉΓòÉ
-
- The code for reading and writing PBM files used to be based on code from XV. I
- have since redone the code enough to believe that it is no longer a use of that
- code. I have retained the following is copyright information from XV just to
- be sure.
-
-
- * Copyright 1989, 1990, 1991, 1992 by John Bradley and
- * The University of Pennsylvania
- *
- * Permission to use, copy, and distribute for non-commercial purposes,
- * is hereby granted without fee, providing that the above copyright
- * notice appear in all copies and that both the copyright notice and this
- * permission notice appear in supporting documentation.
- *
- * The software may be modified for your own purposes, but modified versions
- * may not be distributed.
- *
- * This software is provided "as is" without any expressed or implied warranty.
- *
- * The author may be contacted via:
- * US Mail: John Bradley
- * GRASP Lab, Room 301C
- * 3401 Walnut St.
- * Philadelphia, PA 19104
- *
- * Phone: (215) 898-8813
- * EMail: bradley@cis.upenn.edu
- *
-
- JoeView uses the term PBM loosely, there are really three (or six) different
- types of formats here. They are:
-
- PGM - portable graymap file format
-
- The portable graymap format is a lowest common denominator grayscale file
- format. The definition is as follows:
-
- - A "magic number" for identifying the file type. A pgm file's magic
- number is the two characters "P2".
-
- - Whitespace (blanks, TABs, CRs, LFs).
-
- - A width, formatted as ASCII characters in decimal.
-
- - Whitespace.
-
- - A height, again in ASCII decimal.
-
- - Whitespace.
-
- - The maximum gray value, again in ASCII decimal.
-
- - Whitespace.
-
- - Width * height gray values, each in ASCII decimal, between 0 and the
- specified maximum value, separated by whitespace, starting at the top-
- left corner of the graymap, proceding in normal English reading order.
- A value of 0 means black, and the maximum value means white.
-
- - Characters from a "#" to the next end-of-line are ignored (comments).
-
- - No line should be longer than 70 characters.
-
- Here is an example of a small graymap in this format:
- P2
- # feep.pgm
- 24 7
- 15
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0
- 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0
- 0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 0
- 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 0
- 0 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-
-
- There is also a variant on the format, the RAW style.
- This variant is different in the following ways:
-
- - The "magic number" is "P5" instead of "P2".
-
- - The gray values are stored as plain bytes, instead of ASCII decimal.
-
- - No whitespace is allowed in the grays section, and only a single
- character of whitespace (typically a newline) is allowed after the
- maxval.
-
- - The files are smaller and many times faster to read and write.
-
- Note that this raw format can only be used for maxvals less than or equal
- to 255.
-
- PBM - portable bitmap file format
-
- The portable bitmap format is a lowest common denominator monochrome file
- format. It was originally designed to make it reasonable to mail bitmaps
- between different types of machines using the typical stupid network
- mailers we have today. Now it serves as the common language of a large
- family of bitmap conversion filters. The definition is as follows:
-
- - A "magic number" for identifying the file type. A pbm file's magic
- number is the two characters "P1".
-
- - Whitespace (blanks, TABs, CRs, LFs).
-
- - A width, formatted as ASCII characters in decimal.
-
- - Whitespace.
-
- - A height, again in ASCII decimal.
-
- - Whitespace.
-
- - Width * height bits, each either '1' or '0', starting at the top-left
- corner of the bitmap, proceding in normal English reading order.
-
- - The character '1' means black, '0' means white.
-
- - Whitespace in the bits section is ignored.
-
- - Characters from a "#" to the next end-of-line are ignored (comments).
-
- - No line should be longer than 70 characters.
-
- Here is an example of a small bitmap in this format:
- P1
- # feep.pbm
- 24 7
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
- 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
- 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
- 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
- 0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-
-
- There is also a variant on the format, the RAW style.
- This variant is different in the following ways:
-
- - The "magic number" is "P4" instead of "P1".
-
- - The bits are stored eight per byte, high bit first low bit last.
-
- - No whitespace is allowed in the bits section, and only a single
- character of whitespace (typically a newline) is allowed after the
- height.
-
- - The files are eight times smaller and many times faster to read and
- write.
-
- PPM - portable pixmap file format
-
- The portable pixmap format is a lowest common denominator color image
- file format. The definition is as follows:
-
- - A "magic number" for identifying the file type. A ppm file's magic
- number is the two characters "P3".
-
- - Whitespace (blanks, TABs, CRs, LFs).
-
- - A width, formatted as ASCII characters in decimal.
-
- - Whitespace.
-
- - A height, again in ASCII decimal.
-
- - Whitespace.
-
- - The maximum color-component value, again in ASCII decimal.
-
- - Whitespace.
-
- - Width * height pixels, each three ASCII decimal values between 0 and
- the specified maximum value, starting at the top-left corner of the
- pixmap, proceding in normal English reading order. The three values
- for each pixel represent red, green, and blue, respectively; a value of
- 0 means that color is off, and the maximum value means that color is
- maxxed out.
-
- - Characters from a "#" to the next end-of-line are ignored (comments).
-
- - No line should be longer than 70 characters.
-
- Here is an example of a small pixmap in this format:
- P3
- # feep.ppm
- 4 4
- 15
- 0 0 0 0 0 0 0 0 0 15 0 15
- 0 0 0 0 15 7 0 0 0 0 0 0
- 0 0 0 0 0 0 0 15 7 0 0 0
- 15 0 15 0 0 0 0 0 0 0 0 0
-
- There is also a variant on the format, the RAW style.
- This variant is different in the following ways:
-
- - The "magic number" is "P6" instead of "P3".
-
- - The pixel values are stored as plain bytes, instead of ASCII decimal.
-
- - Whitespace is not allowed in the pixels area, and only a single
- character of whitespace (typically a newline) is allowed after the
- maxval.
-
- - The files are smaller and many times faster to read and write.
-
- Note that this raw format can only be used for maxvals less than or equal
- to 255.
-
- The above three descriptions are very slightly altered versions of descriptions
- originally written and Copyrighted (C) 1989, 1991 by Jef Poskanzer.
-
- So, if you need to input a file format that JoeView does not support, here is
- your chance if you know the format of the data you already have. Convert the
- data into the appropriate ASCII format style above. It is probably simplest
- just to use the ppm format and let JoeView convert it down into the appropriate
- number of colors.
-
-
- ΓòÉΓòÉΓòÉ 4.6. X11 Bitmap ΓòÉΓòÉΓòÉ
-
- The code for reading and writing X11 bitmaps was hacked from XV, see the PBM
- section for copyright info.
-
-
- ΓòÉΓòÉΓòÉ 4.7. Sun Raster ΓòÉΓòÉΓòÉ
-
- The code for reading and writing Sun Raster files was stolen from XV, see the
- PBM section for copyright info. This particular code from XV was written by
- Dave Heath (heath@cs.jhu.edu) with additions by Ken Rossman
- (ken@shibuya.cc.columbia.edu).
-
-
- ΓòÉΓòÉΓòÉ 4.8. PCX ΓòÉΓòÉΓòÉ
-
- The code for reading and writing PCX files is taken from Michael Davidson. I
- have made significant changes, including the ability to handle 24 bit images.
- This should handle up to version 5 PCX.
-
-
- ΓòÉΓòÉΓòÉ 4.9. TIFF ΓòÉΓòÉΓòÉ
-
- The code for reading and writting TIFFs is based on code written by Sam
- Leffler. Here is his copyright notice.
-
- /*
- * Copyright (c) 1991, 1992 Sam Leffler
- * Copyright (c) 1991, 1992 Silicon Graphics, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and
- * its documentation for any purpose is hereby granted without fee, provided
- * that (i) the above copyright notices and this permission notice appear in
- * all copies of the software and related documentation, and (ii) the names of
- * Sam Leffler and Silicon Graphics may not be used in any advertising or
- * publicity relating to the software without the specific, prior written
- * permission of Sam Leffler and Silicon Graphics.
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
- When you save a TIFF file, there are five choices for the type of TIFF file to
- stored. Not exactly sure what each of the types is except that the FAX choices
- will be reduced to black and white images first.
-
- Understand that the TIFF spec is disgustingly huge and I will not even begin to
- think about getting in to it in detail. If your TIFF files are not displaying
- correctly, well tough tiff, it is beyond my capabilities to go in and mess with
- the library supplied by Sam Leffler.
-
-
- ΓòÉΓòÉΓòÉ 4.10. Utah RLE ΓòÉΓòÉΓòÉ
-
- JoeView only reads Utah RLE files, it will not write them. The code for
- reading Utah RLE files is based on code from XV, see the PBM section for
- copyright info.
-
-
- ΓòÉΓòÉΓòÉ 4.11. MetaFiles ΓòÉΓòÉΓòÉ
-
- JoeView will only read MetaFiles, it will not write them. Meta files are
- actually a series of drawing commands and so you can imagine how big a file
- would be if every command was to draw a single point at some color. JoeView
- will size the MetaFile to display onto the screen and then create a raster
- version of it. Right now you cannot stop a MetaFile from playing once it has
- started.
-
-
- ΓòÉΓòÉΓòÉ 4.12. Slide Show Files ΓòÉΓòÉΓòÉ
-
- JoeView can store a selection of files for use in a Slide Show. These
- typically are given and extension of sls. You can load these files using the
- Slide Show Dialog or the regular File Open Dialog. In addition, you can drag
- and drop such a file onto JoeView.
-
- As of version 1.22, the files created will contain the slide show settings in
- effect when the file was created.
-
-
- ΓòÉΓòÉΓòÉ 5. Key Help ΓòÉΓòÉΓòÉ
-
- There are keyboard equivalents to many of the pull down menu commands. Most
- are single character commands and will be shown on the menu underlined. They
- are only valid when the main window is active. They are:
-
- Ctrl+O or O Open a file
-
- S Save a file
-
- Z Zoom in or out
-
- B Brighten Image
-
- D Darken Image
-
- G Grayscale image
-
- C Crop the image
-
- A Auto crop the image using Average parameter
-
- I Image information window
-
- Ctrl+I Iconfy the file
-
- H Help table of contents
-
- K This window
-
- M Move the window using arrow keys, good in No TitleBar mode
-
- N Next image when in slide show mode
-
- Ctrl+N Open File dialog next image
-
- Ctrl+P Open File dialog previous image
-
- Alt+P Print Image
-
- + Increase image size by 10%
-
- - Decrease image size by 10%
-
- R Refresh image
-
- T Toggle Title Bar on and off
-
- Ctrl+R Rotate image Clockwise
-
- Alt+R Rotate image CounterClockwise
-
- Ctrl+F Flip image Vertically
-
- Alt+F Flip image Horizontally
-
- Alt+O Options Dialog
-
- Ctrl+S Slide Show Dialog
-
- Space Bar Minimize JoeView (someone's coming)
-
- Alt+C Main Colors manipulations dialog
-
- Aggessive Palette can be toggled using Alt+A. There will be a beep.
-
- Alt+F4 Quit
-
- Number keys 2 - 4 will size the image by that number. 2 doubles, etc...
-
- Shift Number keys 2 - 4 will divide image size by that number. 2 halves,
- etc...
-
- The Open File dialog has the following keyboard equivalents, they are active
- only when the Open File dialog is active. They are:
-
- Ctrl+N Show next image
-
- Ctrl+P Show previous image
-
- Space Bar Minimize JoeView
-
-
- ΓòÉΓòÉΓòÉ 6. A Few Thanks ΓòÉΓòÉΓòÉ
-
- The following people were kind enough to answer questions I posted to the net.
- The few minutes they took to respond to my questions saved me untold days of
- fruitless searching through .inf files. I hope these words make a contribution
- towards their 15 minutes of fame.
-
- o Keith Murray
-
- o Jeroen Hoppenbrouwers
-
- o Gene Mangum
-
- o Roman Fischer
-
- o Anders Bjurman
-
- This is of course in addition to the people who have made their source code
- available for use by others. This would be the JPEG, PBM, and XV authors who
- are listed in the respective file formats sections.
-
- The following people have made significant suggestions for improvement of
- JoeView and/or pointed out bugs. You may have made suggestions or comments but
- are not listed here. Typically I caught the bug before you notified me or
- something along those lines. If you really want on this list, SEND MONEY.
-
- o Dan, Dick, Tom, Chance Glazing Donuts instead of working.
-
- o Steve M. Lacy Creation of FS Dithered bitmaps for wallpaper use.
-
- o Scott Hiles Create Slide Show files, Toggle Title Bar, Drag Drop Slide Show
- Files
-
- o Rob Eitzen Can't access A/B drives, bug fix
-
- o Scott Harper Found lots of little bugs, good style criticisms, bitmap file
- problems, ghost cropping rectangle (fix)
-
- o Reinhard Meyer Found truly obscure bugs, other suggestions
-
-
- ΓòÉΓòÉΓòÉ 7. <-Registering JoeView-> ΓòÉΓòÉΓòÉ
-
- You are required to register JoeView if you wish to use it after an evaluation
- period of 20 uses. This means that you can start the JoeView program a total
- of 20 times, after which you are obligated to register it. There is no time
- constraint for this. To register JoeView you (the user) send me (the author)
- money, gold, chinese food, Claudia Schiffer's home phone number, or any
- combination of these items. I (me) then send you (you) one of two passwords.
- The password is according to this scale:
-
- o You send me less than $27.82 (US money bub) and I will give you a password
- that will work on all 1.22 versions of JoeView - this means all bug fixes,
- etc.
-
- o You send me more than $27.82 (also US dinero) and I will give you a password
- that will work on JoeView 1.22 and I will forward new passwords to you as
- needed, free of charge for all future versions. This assumes that demand is
- great enough to warrant me writing the next version of JoeView - next big
- thing is 24 bit display.
-
- Now you bright types notice I didn't say what happens when you send me exactly
- $27.82. Well, do ya feel lucky PUNK, just try it and see.
-
- The above is for a single user. The agreement is (in theory) that you can
- create as many passworded versions of JoeView as you wish, but only one of
- these copies can be in use at any given time (this is the book description used
- by Borland and others).
-
- Any company or government use of JoeView will follow the below registration
- costs:
-
- o Groups registration of 4 or less people:
-
- - For 1.22 version only $20 US for each person.
-
- - For lifetime password $30 US for each person.
-
- o Group registration of 5 to 10 people:
-
- - For 1.22 version only $50 + $10 US per person (5 people = $100, 6 = $110,
- etc)
-
- - For lifetime password $100 + $11 US per person
-
- o Site license:
-
- - 1.22 version only $279.
-
- - Lifetime password on an individually negotiated basis.
- Payment can take the form of cash or check, send it to:
-
- Crunch Products
- P.O. Box 370353
- San Diego, CA 92137-0353
-
- The checks can be made out to Joe Burkley or Crunch Products.
-
- Have an interesting idea for a new program? Let's talk, I'm always interested
- in considering new ideas. Contact me at the above address and we can talk.
-
-
- ΓòÉΓòÉΓòÉ 8. Drag and Drop ΓòÉΓòÉΓòÉ
-
- JoeView supports the dragging and dropping of an image file or slideshow file
- onto either the JoeView Icon or onto a running version of JoeView. JoeView
- will not accept drag and drop operations while a Slide Show is running or while
- a file is currently being read. If you drag and drop multiple files at one
- time, the files will be loaded into a slide show and started with whatever
- defaults are currently selected as slide show options.
-
-
- ΓòÉΓòÉΓòÉ 9. Command Line ΓòÉΓòÉΓòÉ
-
- There are two possible command line options. You can specify a file name for
- JoeView to load upon startup.
-
- For example: joeview c:\gifs\hooters.gif
-
- The other command line option is to create a Floyd Steinberg Dithered bitmap.
- The main purpose of this option is so that you can create background images for
- your desktop or lockup screens. When you received this copy of JoeView, one of
- the files included should have been a REXX script to randomly generate
- background images using this command line option. The format of the command is
-
- joeview -b input_file output_file or joeview -bs input_file output_file. You
- should specify drives and paths for the input and output files. The input file
- can be in any file format the JoeView normally reads. The output file will
- always be an OS2 2.0 format bitmap. The "-b" option causes JoeView to perform
- the dithering at full CPU utilization. As the process is very CPU intensive,
- the "-bs" option is included. This option is meant to mean -b slow. Basically
- it puts JoeView in a low priority mode that causes the operation to take
- considerably longer than if you use "-b" but you'll find that your machine is
- much more useful while the process is running. JoeView will not be visible when
- this option is invoked.
-
- The idea of using FS Dithering to create background bitmaps was originally
- proposed by Steve M. Lacy.
-
-
- ΓòÉΓòÉΓòÉ 10. Blue Screen ΓòÉΓòÉΓòÉ
-
- If'n your startup image in JoeView is a blue screen, your JoeView.ini file has
- been corrupted. Delete it and JoeView will create another.
-
-
- ΓòÉΓòÉΓòÉ 11. Thread Priorities ΓòÉΓòÉΓòÉ
-
- OS2 has (for all practical purposes) 2 levels of thread priority, low(idle) and
- regular. There seems to be a limit on the number of low priority threads that
- can be active at once. Many applications (CPU meters, clocks, etc.) use low
- priority threads. Along comes JoeView and it wants to use one. Well OS2 will
- give JoeView a low priority thread, but OS2 doesn't want to devote any CPU
- cycles to that thread. The net effect is that nothing happens as far as
- JoeView processing is concerned. Another possibility is that Dos Boxes and
- certain other OS2 programs will cause OS2 to not give any CPU time to low
- priority threads. If you have many applications running (or Dos programs) and
- you try something with JoeView and nothing seems to happen, try regular
- priority threads instead. Most of the time with JoeView you can use a check
- box to specify whether a command should occur at low or regular priority or you
- can use a menu selection to alter the priority. Some commands might start out
- at low priority. These commands can be upgraded to regular priority by using a
- menu command. I think I have changed all commands to start out at regular
- priority, but earlier version of JoeView were not this way and I may have
- missed some.
-
- For saving of files, I have brazenly stolen an idea I saw mentioned in pmview,
- which is to bump the priority of these threads if JoeView doesn't detect
- activity for 3 seconds. This only occurs for saving. SlideShows, File Reads,
- dithering, etc. priorities can be changed while the command is running so I
- leave it up to you to decide how you want them to go.
-
- BTW, one way to see this type of activity is to have a file read occuring at
- low priority and while it is reading open or make active an application that
- runs in a Dos Box. Or run the SlideShow in low priority and open a Dos
- program.
-
-
- ΓòÉΓòÉΓòÉ 12. Installation & Setup ΓòÉΓòÉΓòÉ
-
- You should have seen this in the readme file included with your distribution of
- JoeView.
-
- I have used the philosophy that JoeView will impact your OS2 system with as
- little change as possible so that if you ever decide to get rid of JoeView,
- perish the thought, all you will need to do is delete the files in one
- directory.
-
- JoeView can be used as you got it without any system (config.sys)
- modifications. For best results you should put the JoeView files in a directory
- that is included in your path statement. JoeView does sometimes create
- temporary files and because of this it looks to see if you have either a TMP or
- TEMP environental variable set in your config.sys. Lots of application use
- these so you probably have them defined. If not, you can add one by entering
- SET TMP=c:\os2\tmp or whatever directory you want your temp files stored in.
- This keeps your system nice and clean so that you don't get random files
- popping up all over the place.
-
- The last installation option is of most importance to people working in a
- network environment. You can put an environment variable called JOEVIEWINI
- that points to a drive and directory where you want the JoeView.ini file to be.
- This is also the place where the palette file (described below) and other
- JoeView (permanent) files will be placed. If this variable is not present in
- your config.sys, these files get placed in the same directory as JoeView.exe is
- located. The main benefit of this option is that people running on a network
- can have one of JoeView (exe and help) located on a common drive with each
- personal .ini files on each person's machine. In your config.sys this would
- look like SET JOEVIEWINI=C:\IMAGES.
-
- Thats about the only change to your system that you can make regarding JoeView.
-
- When you run JoeView the first time, two files will be created. The first is
- joeview.ini which contains information about your current configuration of
- JoeView. The second file is joeview.pal which contains the colors used in your
- default system setup. The pal file is important when you are converting images
- to use the system colors. When you run JoeView for the first time (and create
- the pal file) you should have your system setup color-wise in the way you will
- be using it. This means that no other palette changing programs should be
- running at the time.
-
- Other files included with JoeView are the help file and several script and REXX
- example files. In addition, certain functions may create files. These will
- always have a name similar to JoeView.
-
-
- ΓòÉΓòÉΓòÉ 13. Copyright ΓòÉΓòÉΓòÉ
-
- The author makes NO WARRANTY or representation, either expressed or implied,
- with respect to JoeView, its quality, accuracy, merchantability, or fitness for
- a particular purpose. This software is provided "AS IS", and you, its user,
- assume the entire risk as to its quality and accuracy.
-
- This software is copyright (C) 1992, 1993, V. Joseph Burkley. All Rights
- Reserved except as specified below.
-
- Permission is hereby granted to use, copy, and distribute this software (or
- portions thereof) for any purpose, without fee, subject to these conditions:
-
- (1) The three files, joeview.exe, joeview.hlp and the accompanying readme
- (readme.jvw) files must always be included during distribution. Any
- alterations to the files must be clearly documented. No changes may be made
- to the About screen or any of the copyright information.
-
- (2) Permission for use of this software is granted only if the user accepts
- full responsibility for any undesirable consequences; the author accepts NO
- LIABILITY for damages of any kind.
-
- (3)Permission is NOT granted for the use of the author's name or company name
- in advertising or publicity relating to this software or products derived from
- it.
-
- (4)Users are granted permission to collect fees for the distribution of
- JoeView, (such as BBS's that have a membership fee or a downloading charge, or
- FTP sites that sell cdrom versions of their archives) but users are
- specifically prohibited from selling JoeView as a product or bundling JoeView
- with other products that are then sold. It may be given away for free.
-
- I encourage the free or at cost distribution of JoeView.
-
-
- ΓòÉΓòÉΓòÉ 14. Scripts & REXX ΓòÉΓòÉΓòÉ
-
- Any script file or REXX program can be loaded like a normal file. Either
- command line, drag and drop, or using the JoeView open file dialog. The
- script file must begin with the line
-
- JoeScript
-
- and no blank lines should exist. For a REXX file, the first line of the file
- must begin with the /* sequence. For all commands (except the first line in a
- script file) the command will be converted to lower case. Optional arguments
- will not be case adjusted so you should treat them with care. For example, if
- your script or REXX file has the line going to JoeView as:
-
- Print Hello
-
- JoeView would receive a line like:
-
- print Hello
-
- Play it safe and keep all commands as lower case. Type all arguments to be
- exactly as you would like them. I did all this so that JoeView will work with
- Unix type file systems where case does make a difference in file names.
-
- Except for the print command, all passed numerical arguments need to be
- integers (no decimal points). Remember integers!
-
- Initial Settings: The following are the defaults, regardless of what you have
- set in the JoeView options.
-
- o Save at displayed size is off.
- o When saving, image is saved in full color.
- o Priorities are set to regular.
- o Iconify on file save is set to off.
- o Display using system palette is off.
- o Display using aggressive palette is off.
-
- otherwise, whatever defaults you have set in the options part of JoeView are
- used. You can overide most of these settings by using script/REXX commands.
-
- The commands that are unique to JoeView Script files are:
-
- o open_start and open_finish These two commands bracket groups of files that
- are to be operated on. It doesn't matter if the number of files is 1 or
- 1000, the names must be between the brackets with each name on its own line.
- Wild cards are allowed and drives and paths should be included. For
- example:
-
- open_start
- c:\images\*.gif
- c:\stuff\*.jpg
- c:\thisfile.bmp
- open_finish
-
- would set up for processing all the gifs in c:\images, all the jpg files in
- c:\stuff and file c:\thisfile.bmp. This has loaded in a list of filenames.
- These file en mass will only be affected by commands which are listed between
- the begin & end statements.
-
- o begin and end Any command can appear on a line, but if you want to do
- operations on groups of files, the commands must be listed between begin and
- end statements. For example, if you had previously loaded in a group of gif
- file names, then:
-
- begin
- grayscale
- end
-
- would load a file, convert it to grayscale (no save) and then load in the next
- file until all files had been processed. The number of commands between the
- begin and end statements is (realistically) unlimited. Each command must be
- on its own line without any blank lines.
-
- o run_commands This command tells JoeView to begin using the commands defined
- previously by use of the begin & end statements. The commands will be run
- on all files that were loaded using the open_start and open_finish commands.
-
- The commands that are unique to REXX files are:
-
- o get_info This is used to query JoeView about the current state of the image
- and the JoeView window. The RC variable that JoeView returns to the REXX
- program will be a string with the format of:
-
- Image Width, Image Height, number of colors, X Position of the frame window,
- Y Position of the frame window, Width of the frame window, Height of the
- frame window
-
- The actual data is not separated by commas and would look something like:
-
- 300 456 200 310 466 10 50
-
- The origin of the screen occurs at the lower left corner and is 0, 0. The
- position of the frame window is relative to this coordinate. To receive
- this information in the REXX program you would execute the get_info command
- and then use:
-
- PARSE VAR rc wide high colors position_x position_y window_width
- window_height
-
- RC(rc) is the variable REXX uses for passing info back and forth to JoeView.
- You can use any variable names you like inplace of the ones in this example.
-
- o get_filename Used in a simlar way to get_info, this will return the image's
- filename in the rc variable.
-
- The following commands can be used by either a JoeView script or by a REXX
- program. Their execution is the same for both.
-
- brighten number
- Also darken number. Brighten or darken image by specified amount. number
- can be from 0-255 and must be in integer form.
-
- bw_dither
- Dither the image to black and white.
-
- crop left bottom right top
- Crop the image to the specified coordinates. These are the "real" image
- coordinates, not the displayed coordinates. 0,0 would be the lower left
- corner of the image.
-
- crop_regular
- Aslo crop_average, crop_loose, crop_strict. Do autocropping.
-
- crop_custom number
- Do autocropping with the specified cropping value. number must be an
- integer.
-
- exit
- This must exist outside of the begin & end pair of a Script file. It
- functions just like stop, except JoeView will terminate instead of
- returning control to the user like stop does.
-
- flip_vertical
- Also flip_horizontal. Flip image along the appropriate axis.
-
- fixed_window_on & fixed_window_off
- Display window will have or not have to stay at a fixed size turned on.
-
- grayscale
- Converts image to grayscale.
-
- iconify & uniconify
- Iconify the current image into whatever is the current file name. Or, with
- uniconify, delete the icon information from the file.
-
- iconify_on & iconify_off
- Turns on or off the iconifying of a file when it is saved.
-
- invert_colors
- Invert image colors
-
- jpeg_smooth number
- Will turn jpeg file save smoothing on. number (an integer) indicates the
- smoothing factor.
-
- jpeg_smooth_on
- Will turn on jpeg file save smoothing and use whatever the default
- smoothing factor is.
-
- jpeg_smooth_off
- Turns off jpeg file save smoothing.
-
- jpeg_optimize_off & jpeg_optimize_on
- Turns on or off jpeg file save optimization.
-
- jpeg_quality number
- Jpeg file save quality, number is the quality and must be an integer,
- between 50-100.
-
- jpeg_quantize string
- The method used to quantize (convert from 24 to 8 bits) the original jpeg
- file when read in. string will be one of the following:
-
- o quick -Use quick method
- o slow -Use slow method - not recommended
- o best -Use best method
- o gray -Convert to grayscale
- o builtin -Use builtin method, recommended
-
- move_abs number_x number _y
- Move the window to the absolute position indicated by the integers number_x
- and number_y. The values are relative to the lower left corner of the
- screen, which is 0, 0. The position on the window that this is in
- reference to is the lower left corner. No checking takes place for whether
- the window will be off screen.
-
- move_rel number_x number _y
- Move the window the number of pixels indicated relative to its current
- position. number_x and number_y are integers and can be positive or
- negative. No value testing is performed.
-
- open_file string
- This command will open whatever file is indicated in string. The argument
- should ideally have a drive and path but this is not absolutely needed if
- you know the directory JoeView is currently in.
-
- pause number
- Pause for indicated number of tenths of a second before going on to next
- command. number must be an integer.
-
- print many options
- The printing allows you to specify almost everything you would normally
- specify when using the print dialog. There are many options and they can
- appear in many orders. The order can have an effect on how the image is
- ultimately display. JoeView will come up with default image where the
- image is centered and ready for the default printer. The options (some
- required) are:
-
- o image_width number Will specify the image width, in inches
- o image_height number Will specify the image height, in inches
- o left_margin number Will specify the left margin, in inches
- o right_margin number Will specify the right margin, in inches
- o top_margin number Will specify the top margin, in inches
- o base_margin number Will specify the base margin, in inches
- o center Center the image on the page.
- o landscape_on Print image in landscape mode.
- o landscape_off Print image in portrait mode.
- o fixed_left Left margin is held fixed.
- o fixed_right Right margin is held fixed.
- o fixed_width Image width is held fixed.
- o fixed_top Top margin is held fixed.
- o fixed_base Base margin is held fixed.
- o fixed_height Image Height is held fixed.
- o set_printer name Choose a printer. Capitalization is important for the
- name and only the first part of your printer name is important. For
- example, if your printers are called "My Printer" and "Sekas Printer" you
- should only use Sekas to select the second printer. Never put two
- strings in for the printer name. Your default printer will be selected
- initially.
- o delay number Delay processing by the indicated number of seconds. Use
- this to take a look at the printer dialog when you are trying to debug
- your code. The maximum value is 30.
- o print_it Print the image. This is mandatory, if this does not exists,
- the print dialog will be cancelled.
-
- priority_low & priority_regular
- Set thread priority to low or regular.
-
- priority_monitor
- You should read the discussion of the use of priority which is located in
- the main menu. If you execute a priority_monitor command, JoeView will
- always monitor whether idle time threads (low priority threads) can
- execute. If during a 3 second period they can't execute, then their
- priority is increased to regular priority. For this option to work you
- need to execute it first, then do a priority_low command. It is advisable
- to always use this command when you are going to specify low priority
- threads. If you are really sure you want low priority threads, all the
- time, go ahead and leave it off. BTW, you can only turn this on, once on
- it stays on.
-
- quantize string
- The method used to quantize (convert from 24 to 8 bits) when image file is
- a non-jpeg 24 bit image (targa, pbm, etc). string will be one of the
- following:
-
- o quick -Use quick method
- o slow -Use slow method - not recommended
- o best -Use best method - recommended
- o gray -Convert to grayscale
-
- reduce_colors number
- Reduces image to specified number of colors. number must be an integer
- greater than 1.
-
- resizex2
- Also resize/2, resizex3, resize/3, resizex4 resize/4. Resize image by
- appropriate factor, either multiply x or divided by /. resizex2 would
- double the image, resize/2 would half the image, etc.
-
- resize_640
- Also resize_800 and resize_1024. Resize image to fit screen resolution
- indicated.
-
- resize_custom width height
- Resize image to specified width and height. width and height must be
- integers.
-
- rotate_clockwise
- Also rotate_countclockwise. Rotate image in the appropriate direction.
-
- save_colors string
- When doing a file save, save image in a specified color format. string is
- the color format and must be:
-
- o gray -Grayscale
- o bw -Black and white
- o color -Color
-
- save_file string
- Save the file. string is the file format and must be one of the following.
- This does not change the image name extension, you must do that explicitly
- with set_filename_extension, otherwise you will overwrite the original file
- if you haven't changed directories or filenames.
-
- o sun - Sun raster format
- o pbm_ascii - PBM, PGM, PPM formats in ascii
- o pbm_raw - PBM, PGM, PPM formats, raw
- o x11 - X11 bitmaps
- o tiff_none - TIFF with no compression
- o tiff_packbits - TIFF with packbits compression
- o tiff_lzw - TIFF with LZW compression
- o tiff_fax3 - TIFF in fax 3 style
- o tiff_fax4 - TIFF in fax 4 style
- o gif - GIF format
- o targa - TARGA format
- o targa_rle - TARGA RLE format
- o pcx - PCX format
- o windoze - MS Windows bitmap
- o os2 - OS2 2.0 bitmap
- o windoze_rle - MS Windows bitmap, rle encoded
- o os2_rle - OS2 2.0 bitmap, rle encoded
- o jpeg - JPEG format
-
- say_commands_on & say_commands_off
- Will have JoeView show you the command it is about to execute. Used for
- debugging a script or REXX file.
-
- set_filename string
- Changes the name of the current image to string. This will not change the
- path or drive info.
-
- set_filename_directory string
- Will change the directory of the image, but will leave the image name
- unchanged. You should include the drive.
-
- set_filename_extension string
- Will change the extension of the image, or assign one if it doesn't have
- one. The extension string should include its own period. For example, If
- the image was orginally c:\bigguns\test.gif,
-
- set_filename_extension .jpeg
-
- would change the file to c:\bigguns\test.jpeg
-
- size_abs wide high
- Size the display of the image to the indicated values. Note that this is
- the displayed image, not the "real" image. wide and high are integers.
-
- size_rel wide high
- Adjust the size of the displayed image by the increment indicated. wide
- and high are integers.
-
- smooth_weighted number
- Do a weighted smooth. number is the weighting factor, an integer from
- 0-100.
-
- smooth_no_weight
- Do a non weighted smooth.
-
- stop
- This must exist outside of the begin & end pair of a Script file. It stops
- the Script or REXX program and returns control back to JoeView. It should
- be the last command sent to JoeView. When you are using a REXX program, it
- is slightly better to just have the REXX program do a normal exit and not
- send the stop command.
-
- system_colors_distance
- Convert image to system colors using Distance Method.
-
- system_colors_fsd
- Convert image to system colors using Floyd Steinberg Dithering.
-
- title_bar_toggle
- Turn the title bar on if off or off if on.
-
- visible & invisible
- Hide or unhide the displayed image. Will also turn off the palette
- realizing when invisible.
-
- warnings_on & warnings_off
- With warnings off, you will not be warned about problems except for those
- relating to memory errors which generally signify a pretty big error. You
- will not be warned if an unknown file format was read or if you are
- overwriting a file.
-
- zoom_in left bottom right top
- Zoom in to the specified coordinates. These are the "real" image
- coordinates, not the displayed coordinates. 0,0 would be the lower left
- corner of the image.
-
- zoom_out
- Zoom back out.
-
- Several example scripts are included. They are:
-
- script1.exm This script takes whatever image was in JoeView before the script
- is loaded and runs it through a variety of manipulations. Because of the
- choice of manipulations, the original image will not be affected. Note that
- the image's original filename will be lost.
-
- script2.exm This script would read in all the files located in directory
- c:\kermit\temp that have the extension .gif. It would iconify each of the
- files, and save them as jpegs after first changing the extension to .jpg. The
- jpeg save options would be whatever the defaults had been set to prior to
- executing the script. After all the files have been gone through, the last
- image has its colors inverted twice. Only the last image is affected because
- the invert commands are outside the begin & end pair. If the the
- set_filename_extension command had not been issued, the jpegs would have been
- saved over the orginal gifs.